Just like actual ClutterActions, it can make sense to temporarily
disable the touchpad action, so add an appropriate property.
https://gitlab.gnome.org/GNOME/gnome-shell/issues/516
constructor(actor) {
this._dx = 0;
this._dy = 0;
+ this._enabled = true;
actor.connect('captured-event', this._handleEvent.bind(this));
this._touchpadSettings = new Gio.Settings({schema_id: 'org.gnome.desktop.peripherals.touchpad'});
}
+ get enabled() {
+ return this._enabled;
+ }
+
+ set enabled(enabled) {
+ if (this._enabled == enabled)
+ return;
+
+ this._enabled = enabled;
+ if (!enabled)
+ this.emit('cancel');
+ }
+
_checkActivated() {
let dir;
if ((allowedModes & Main.actionMode) == 0)
return Clutter.EVENT_PROPAGATE;
+ if (!this._enabled)
+ return Clutter.EVENT_PROPAGATE;
+
if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) {
let [dx, dy] = event.get_gesture_motion_delta();